Prof. Dr. Herbert Klaeren
Semantik von Programmiersprachen (V3+Ü2)
Termin
variabel
Turnus
Unregelmäßig (Sommersemester)
Prüfungsfach
Theoretische Informatik
Stichworte
Die Vorlesung ist eine Einführung in die Werkzeuge der formalen
Semantik. Die Definition einer Semantik ist notwendig, um das Verhalten von
Programmen eindeutig festzulegen, die Konsistenz von
Programmiersprachen sicherzustellen und Voraussetzungen für
Korrektheitsbeweise von Programmen und Compilern zu schaffen. Die
Kenntnisse aus der Vorlesung sind auch in anderen Veranstaltungen
von Nutzen, insbesondere im Compilerbau, in der Anwendung von
Programmiersprachen und im parallelen Rechnen.
Nach einer Motivation und Einführung mit Wiederholung
der mathematischen Grundkenntnisse beschäftigt sich die Vorlesung zunächst
mit den Grundlagen aus der universellen Algebra,
insbesondere der Bereichstheorie und in Verbindung daran mit der
Semantik von Typen. Verschiedene Formen von Semantik-Definitionen
werden betrachtet, mit Schwerpunkt auf der denotationellen Semantik.
Im Rahmen davon wird betrachtet, wie sich die meist
``natürlichsprachlich'' formulierten Semantiken von
Programmiersprachen in Beziehung setzen lassen mit einer
natürlichen Semantik, einer denotationellen Semantik und einer
Implementierung.
Ziel der Vorlesung ist es, die nötige Motivation und die Fähigkeiten
zu schaffen, formale Semantik verstehen und damit umgehen zu
können, und etwas von den Vorbehalten vor algebraischen Methoden und
mathematischer Notation auszuräumen.
Voraussetzungen
Grundstudium Informatik. Kenntnisse aus ``Konzepte von Programmiersprachen'',
``Compilerbau'', ``Lambda-Kalkül'', ``Logik für Informatiker''
oder ``Funktionale Programmierung'' sind willkommen, aber nicht
Voraussetzung. Die nötigen Kenntnisse aus Algebra und Logik werden
vermittelt.
Literatur
-
S. Abramsky, Dov M. Gabbay, and T. S. E. Maibaum, editors.
Background: Mathematical Structures
, volume 1 of
Handbook
of Logic in Computer Science
Oxford Science Publications, 1992.
-
Carl A. Gunter.
Semantics of Programming Languages: Structures and Techniques
Foundations of Computing. MIT Press, Cambridge, MA, 1992.
-
Hanne Riis Nielson and Flemming Nielson.
Semantics with Applications
John Wiley & Sons, 1992.
-
David A. Schmidt.
Denotational Semantics, A Methodology for Software Development
Allyn and Bacon, Inc, Massachusetts, 1986.
-
Joseph E. Stoy.
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
MIT Press, 1981.
-
Jan van Leeuwen, editor.
Formal Models and Semantics
, volume B of
Handbook of
Theoretical Computer Science
Elsevier, Amsterdam, 1990.
-
Glynn Winskel.
The Formal Semantics of Programming Languages - An Introduction
MIT Press, 1993.
Prof. Herbert Klaeren
Last modified: Mon May 12 17:37:33 MES